package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.TBaseInfo;
import com.ruoyi.system.domain.TDaoshi;
import com.ruoyi.system.domain.TUserInfo;
import com.ruoyi.system.domain.dto.*;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

public interface UserService {

    AjaxResult getLangList();

    AjaxResult selectBaseInfo(TBaseInfoDto baseInfo);


    AjaxResult selectTaskInfo(TTaskInfoDto taskInfo);


    AjaxResult getTaskBaseByCondition(TBaseInfoDto baseInfoDto);

    AjaxResult getHomeTaskByType(ConditionReq req);

    AjaxResult taskInfo(ConditionReq req);

    AjaxResult exchangeTask(ConditionReq req);

    AjaxResult accessTask(ConditionReq req);

    AjaxResult userTaskList(ConditionReq req);

    AjaxResult getUserInfo();

    AjaxResult getUserMoney();

    AjaxResult getUserTaskListStatistics();

    AjaxResult submitTask(TTaskInfoDto req);


    TUserInfo userRegister(TUserRegisterInfoDto userInfoDto);

    public AjaxResult sendMailCodeToMail(String email);

    /**
     * 个人中心设置修改用户个人信息
     * @param tUserInfo
     * @return
     */
    public AjaxResult updateUserInfo(TUserInfo tUserInfo);

    TUserInfo userLogin(TUserInfoDto userInfoDto);

    TUserInfo userLoginByGoogle(TUserInfoDto userInfoDto);


    TUserInfo userLoginByApple(TUserInfoDto userInfoDto);

    AjaxResult userTeam();


    AjaxResult getUserEarningsList(TTaskInfoDto req);

    AjaxResult memberList(TTaskInfoDto req);

    AjaxResult vipList();

    AjaxResult vipBuy(Long id);


    AjaxResult userSignList();

    AjaxResult userSign();

    AjaxResult turntableList();

    AjaxResult getTurntable(Long id);

    AjaxResult getTurntableLog(Integer pageSize,Integer pageNum);

    AjaxResult getTaskAndNum();

    AjaxResult fistJob();


    AjaxResult getTaskByType(ConditionReq req);
}
